# coding=utf-8
"""
Author: Mr.夏末
@Function: 冒泡排序
它重复地走访过要排序的数列，一次比较两个元素，如果他们的顺序错误就把他们交换过来。
走访数列的工作是重复地进行直到没有再需要交换，也就是说该数列已经排序完成。用循环嵌套实现排序
"""
# 怎么从年龄中挑出最大的
ages = [18, 19, 20, 21, 22, 23, 24, 25, 26, 22, 18, 20]
ages.sort()
print(ages)
# 两两比较，用年龄大的和剩下的两两比较，直到都比完
max = 0
for i in range(len(ages)):
    if ages[i] > max:
        max = ages[i]
print(max)

a = 1
b = 2
# 交换两个变量的值
a, b = b, a
print(a, b)

# 把列表身高按照矮到高排列
height = [155, 160, 165, 170, 175, 180, 185, 190, 165, 175, 180]

# 因为列表剩最后一个元素的时候也不需要比了len(height) -1
for j in range(len(height) - 1):
    # 实现第一轮：两两比较冒出最大的
    # 因为最后一个不用比，它没有后一个了，所有len(height)-1
    # 每一轮比较都有一个元素不用再比了 len(height)-1 -j
    for i in range(0, len(height) - 1 - j):
        # 前一个和后一个比
        if height[i] > height[i + 1]:
            height[i], height[i + 1] = height[i + 1], height[i]
print(height)

print("-----------------------------------------------------------------------")

weight = [155, 160, 165, 170, 175, 180, 185, 190, 150, 165, 175, 180]

kindex = 0
while kindex < len(weight) - 1:
    index = 0
    while index < len(weight) - 1 - kindex:
        if weight[index] > weight[index + 1]:
            weight[index], weight[index + 1] = weight[index + 1], weight[index]
        index += 1
    kindex += 1
print(weight)
